package com.hope.mychat.core;

import com.hope.mychat.domain.vo.Chatroom;
import com.hope.mychat.domain.vo.Message;
import com.hope.mychat.domain.vo.User;

import java.util.List;

/**
 * @author ZWH
 */
public interface MyChatHelper {

    

    /**
     * 用户是否在线
     * @param uid
     * @return
     */
    boolean isOnline(String uid);

    /**
     * 获取某个用户信息
     * @param uid
     * @return
     */
    User getUser(String uid);

    /**
     * 获取群聊信息 包括成员
     * @param chatroomId
     * @return
     */
    Chatroom getChatroom(String chatroomId);

    /**
     * 获取群聊成员
     * @param chatroomId
     * @return
     */
    List<User> listChatroomUsers(String chatroomId);

    /**
     * 获取所有好友离线消息
     * @param uid
     * @return
     */
    List<Message> listFriendsOfflineMessage(String uid);

    /**
     * 获取所有群聊离线消息
     * @param uid
     * @return
     */
    List<Message> listChatroomsOfflineMessage(String uid);

    /**
     * 加入群聊
     * @param chatroomId
     * @param uid
     * @return
     */
    void addChatroomuUser(String chatroomId, String uid);

    /**
     * 移出群聊
     * @param chatroomId
     * @param uid
     * @return
     */
    void removeChatroomuUser(String chatroomId, String uid);

    /**
     * 获取群聊成员
     * @param tableId
     * @param message
     * @return
     */
    void writeMessage(String tableId, Message message);

}
